記憶體中用組合bcd碼錶示的十進位制數把它轉換成

時間 2021-07-01 01:10:18

1樓:匿名使用者

一個ascii碼最多需要四個bcd碼儲存,也就是兩個位元組。比如『a',ascii碼值是65,用bcd表示是0000,0000,0110,0101,』1『的ascii碼值是49,用bcd表示是0000,0000,0100,1001。現在的問題是這些bcd碼是如何提供的?

這裡假定,用整數值表示bcd碼,如'e'的ascii碼值(101)10,用整數表示的bcd是0000,0001,0000,0001,也就是257。

#include

const int maxlen = 128;

int main() ;// asdr12*int i,j,t,p,m,k = 0,n = sizeof(bcds)/sizeof(bcds[0]);

for(i = 0; i < n; ++i)asciis[k++] = m;

}asciis[k] = '\0';

printf("%s\n",asciis);

return 0;}

2樓:匿名使用者

1、記憶體中的組合bcd碼,常以十六進位制串形式存在,並且此形式的十六進位制串從表面上看與十進位制數表現形式一致,比如bcd碼:0001 0000(2)=10(16)=10(10)(注意這裡是bcd碼,真正的16進位制10並不等於10進位制10),那麼,只要把bcd碼的16進位制串轉換成10進位制數值,就得到相應的10進位制數,就可以得到相應的ascii碼。

2、c語言**示例:

#include

int main(int argc, char *argv)printf("ascii:%d\nchar:%c\n",ascm,ascm);}

3樓:愛夜

bcd 碼是怎麼存的  是一個位元組存兩個bcd還是?

// 一個 val 儲存2個bcd

>>4)*10)

4樓:匿名使用者

a[i] = a[i] + '0'

用8位的二進位制補碼錶示下列十進位制數。

17 00010001 17的補碼為 00010001 13 00001101 13 的補碼為11110011 正數的補碼 原碼。負數的補碼 它的絕對值的補碼 取反 1 希望滿意!望採納!如果覺得好,望贊同!能用電腦的時候可以win r,開啟執行在裡面輸入calc,在檢視 科學型。如何用8位的二進位...

我們常用的數是十進位制,如23,表示十進位制的數要用數碼 0,1,2,3,4,5,6,7,8,9,在電子計算機中用的是二

十進位制數只有0,1,2,3,4,5,6,7,8,9等十個數碼,其意思是 滿10就進位,比如1234共有4位,其值 1 10 10 10 2 10 10 3 10 4 而二進位制數只有0,1兩個數碼,其意思是滿2就進位,比如 101010這個二進位制數,相當於十進位制數的計算方法是 101010是6...

用十進位制數寫出下列補碼錶示的機器數的真值97H 80H

求補碼對應的真值,直接轉換就可以,不用繞到原碼反碼。97h 1001 0111 128 16 4 2 1 105。80h 1000 0000 128 0 128。9350h 1001 0011 0101 0000 32768 4096 512 256 64 16 27824。cf42h 1100 1...