九的存儲形式
c語言中整數-9 處理為 long int 即4位元組。-9 用 補碼表示。
補碼 等於 不計符號位 的 反碼 加 1。
-------
可以用 union 變數 查 每個位元組的 內容。
假定 你 用 Windows 個人電腦,則是 小端 碼。
程序如下:
#include <stdio.h>
union uu{
int x;
unsigned char a[4];
} u;
main()
{
int i;
u.x = -9;
for (i=3;i>=0;i--) printf("%02x ",u.a[i]);
return 0;
}
輸出 16 進制:
ff ff ff f7
二進制: 11111111 11111111 11111111 11110111
㈡ C語言如何將數字字元『0』到9轉化為數字
1)最簡單的是讓數字字元去減『0』得到的就是數字的值。
示例如下:
char c=『0』; //'1','2','3',.....'9'
int num=0;
num = int(c - '0');
2)用函數atoi可以把字元轉為數字。
㈢ c語言一個9x9的二維數組,按行序為主的存儲方式進行存儲,則第24個元素是怎麼算
int main()
{
int shuzu[9][9];
int i = 0,j=0;
for (i = 0;i<9;i++)
{
for (j = 0;j<9;j++)
{
shuzu[i][j] = i*9+j+1;//1--99
}
}
printf("第24個元素是%d,在第%d行,第%d列",shuzu[24/9][24%9],24/9,24%9);
return 0;
}
執行結果
㈣ 數字0~9的ASCII碼
ascII碼 一共是128個 不包括數字0~9
㈤ 求32769的16位二進制存儲形式
100000000 00000001
32769=32768+1=2^15+2^0,所以第0,15位上是1,其餘位是0
㈥ 9的二進制是多少怎麼算的詳細點啊~~
一個位元組 可以表示有符號與有符號 區別就在最高位 都可以表示 256 種可能
有符號:-128 127
無符號:0 255
一般編程語言裡面 byte 類型是有符號 以 Java 為例 一個位元組表示不了169 short 類型是兩個位元組 int 是四個位元組
如果用 int 表示就是 4 個位元組 32 位
用 short 表示 2 個位元組 16 位
我們平時使用的數字都是由 0~9 共十個數字組成的,例如 1、9、10、297、952 等,一個數字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多個數字組合起來。
例如表示 5+8 的結果,一個數字不夠,只能」進位「,用 13 來表示;這時」進一位「相當於十,」進兩位「相當於二十。
因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進制(Decimalism)。十進制是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。
進制也就是進位制。進行加法運算時逢X進一(滿X進一),進行減法運算時借一當X,這就是X進制,這種進制也就包含X個數字,基數為X。十進制有 0~9 共10個數字,基數為10,在加減法運算中,逢十進一,借一當十。
二進制
我們不妨將思維拓展一下,既然可以用 0~9 共十個數字來表示數值,那麼也可以用0、1兩個數字來表示數值,這就是二進制(Binary)。例如,數字 0、1、10、111、100、1000001 都是有效的二進制。
在計算機內部,數據都是以二進制的形式存儲的,二進制是學習編程必須掌握的基礎。本節我們先講解二進制的概念,下節講解數據在內存中的存儲,讓大家學以致用。
二進制加減法和十進制加減法的思想是類似的:
對於十進制,進行加法運算時逢十進一,進行減法運算時借一當十;
對於二進制,進行加法運算時逢二進一,進行減法運算時借一當二。
下面兩張示意圖詳細演示了二進制加減法的運算過程。
1) 二進制加法:1+0=1、1+1=10、11+10=101、111+111=1110,二進制加法運算過程如圖1.4-1所示:
圖1.4-1 二進制加法運算示意圖
2) 二進制減法:1-0=1、10-1=1、101-11=10、1100-111=101,二進制減法運算過程如圖1.4-2所示:
圖1.4-2 二進制減法運算示意圖
八進制
除了二進制,C語言還會使用到八進制。
八進制有 0~7 共8個數字,基數為8,加法運算時逢八進一,減法運算時借一當八。例如,數字 0、1、5、7、14、733、67001、25430 都是有效的八進制。
㈦ 關於C語言的問題
每一個字元都有相應的ASCII代碼與之對應(ASCII代碼為整型數據),它在內存中的存儲形式是以二進制的形式存儲,和int(整型)的存儲類型一樣;而float(單精度)和double(雙精度)在內存的存儲形式是以指數的形式存儲。
所以字元型數據也可以進行算術運算。
比如:
字元『A』的ASCII代碼是65,字元『B』的ASCII代碼是66,以此類推,字元『Z』的ASCII代碼是90;
字元『a』的ASCII代碼是97,字元『b』的ASCII代碼是98,以此類推...;
而字元『0』的ASCII代碼是48,字元『1』的ASCII代碼是49,以此類推,字元『9』的ASCII代碼是57
其它的ASCII代碼所對應的字元可去查書,我就不一一說明。
字元算術運算(混合運算):
printf("%d\n",'A'+21); //即65+21,以整型輸出;
結果:86;
printf("%d\n",'B'+'a'+'0'+1); //即66+97+48+1,以整型輸出;
結果:212;
printf("%d\n",'A'); //以整型輸出;
結果:65;
printf("%c\n",'A'); //以字元型輸出;
結果:A;
所以,第一句你也理解錯了,因為它們是字元數據,而不是整型數據,即:不是大於0且小於9,而是大於48且小於57,也就是說語句 if(c>'A'&&c<'Z') 的意思是給定了一個ASCII代碼的范圍,即大於65且小於90。
㈧ 西文字元的表示—— 如果用8bits表示,整數9和字元』9』有什麼區別
西文字元的表示—— 如果用8bits表示,整數9是存儲整數9的二進制值,即00001001
字元'9'則是存儲這個字元的ASCII碼值(57)的二進制形式:即00111001
㈨ 若某數字系統採用16位(2位元組)來儲存帶符號數-9,採用補碼,分別寫出大小端模式下的這兩個位元組的內
-9,採用16位補碼,就是 FFF7H。
存入存儲器,有兩種形式:
FFH、F7H 和F7H、FFH。