我正在寫乙個python**,它檢視列表,並根據元素左移最低有效位1位並根據條件在最低有效位處附加1 或 0。 最大計數應為1023,因為它應該僅為10bit。 如果數量超過1022,如何建立3位最高有戲位為零,該如何構建。 我已經為此編寫了**,但是給出了錯誤的結果。
readdata=file.readline()
lht=[0]*1024
lpt=[1]*1024
ghr=0
while readdata:
pc,data=readdata.split(' ')
pc=pc[-3:]
if pc in lht:
pc1=pc[-2:]
pc1=int(pc1)
if 't' in data:
lpt[pc1]=lpt[pc1]+1
ghr=ghr<<1
ghr=ghr+1
if ghr>=1023:
ghr=ghr-1016
print("t",ghr)
if 'n' in data:
lpt[pc1]=lpt[pc1]-1
ghr=ghr<<1
ghr=ghr+0
if ghr>=1023:
ghr=ghr-1016
print("n",ghr)
else:
readdata=file.readline()
我得到錯誤讀數:
t 1
n 2t 5
n 10
t 21
n 42
t 85
n 170
t 341
n 682
t 349
n 698
n 762
t 509
n 1018
t 1021
n 1026
t 1037
n 1058
t 1101
n 1186
t 1357
n 1698
n 2380
n 3744
n 6472
t 11929
n 22842
n 44668
t 88321
n 175626
n 350236
n 699456
我該如何解決?
預期輸出:如果我的bin(1023)= 1111111111,那麼我想刪除最高位,如0001111111
答案,參閱
C cout輸出固定位數
說一下c 中的輸出控制,先交代一下系統環境 在c 程式設計中經常會遇到浮點數的處理,尤其是對浮點數的位數有要求,在c語言中printf可通過語法快速實現,如下 double a 1e 5 1 x 10 5 printf 6lf a 即可達到以下效果 c 是c語言的公升級版,有著比c語言更加多的控制輸...
C語言將字串轉為整數
1 c語言有atoi atol atof等庫函式,可分別把ascii編碼的字串轉化為int long float型別的數字。需要注意的是,這個幾個函式是c語言提供的擴充套件功能,並不是標準的函式,必須引入標頭檔案 include 若需要移植性,請用sscanf函式。例如 int num atoi 1...
實現 atoi,將字串轉為整數。
實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面包...