1.今天是第一次参加VR小组的周会,因为没有设备的缘故所以目前的工作感觉都没什么进展。邵伟哥是小老板,感觉有些徐老师的风格了已经。基哥貌似暂时没什么方向,希望他能早点找到发力点吧。韵乔姐一般不开口,但是感觉她是有点实力的,毕竟那么变态的软件仅仅看个readme就猜出怎么使用。徐景行学长说话特别冲。。。还没验证的东西先给否了,或许是恃才傲物?(听说代码挺强)。金老师的话,感觉不能算有leadership,听说是扛把子。
2.一个简单的例子:十进制数转换二进制数
num=int(302)
if num<0:
isneg=True
num=abs(num)
else:
isneg=False
result=''
if num==0:
result='0'
while num>=1:
result=str(int(num%2))+result
num=num/2
if isneg:
result='-'+result
print(result)
和教程视频有点不一样:(1)num必须要强制int才会按照int的计算方式来;(2)计算到小数之后,就算本来是int型的1,除2还是0.5,只能再一次强制int。。。
整个程序的逻辑还是很棒的:通过不停的除2取余数(不是1就是0)来进行一个字符串的累加
3.小数的十进制二进制转换
基本原理:找到一个足够大的二进制数A(应当是2的次幂),该二进制数A乘上所要转换的小数之后可以变为一个整数。然后把该整数转换为二进制形式B,并且将B往小数点前移A所对应的二进制位数。代码如下:
x=float(input('Enter a number between 0 and 1:'))
p=0
while ((2**p)*x)%1!=0:
p+=1
print('remainder ='+str((2**p)*x-int((2**p)*x)))
num=int((2**p)*x)
result=''
if num==0:
result='0'
while num>0:
result=str(num%2)+result
num=int(num/2)
for i in range(p-len(result)):
result='0'+result
#result=result[0:-p]+'.'+result[-p:]
result='0'+'.'+result
print('The binary presentation of this fraction is:'+ result)