『壹』 c語言中為什麼會出現正數加正數是負數的情況
如果涉及非常大的數,有可能會溢出.C語言最大可顯示65535,即2^16-1;最高位(二進制第16位)為1表示負數.如果兩數的和大於65535,則只能顯示負數.
如果1+2=-48,這肯定不是相加的結果.你可能調用了其它的函數.
『貳』 C語言中怎樣使輸出的正數前有正號
1、使用printf函數的格式化輸出即可實現在數字前補0。
2、例如:
printf("a=%06d\n",
a);
//輸出6位十進制整數
左邊補0,顯示
a=001234;
這里%06d的0就是指在前面補0佔位,6代表位寬。一般這兩個要一起用。
『叄』 C語言中為什麼用補碼表示負數,而不是直接在正數的前面加1呢
為什麼用補碼表示負數?
原理:用加法運算,也可以產生減法的效果。
目的:簡化計算機的硬體。
在兩位數之內,+99,就可以代替-1。
如:24 - 1 = 23
24 + 99 = (1) 23
只取兩位,這兩種演算法,功能就是相同的。
加上 99,就相當於,減一!
物極必反,聽說過吧?
99,就是-1 的補數。
-------------------
鍾表的分針,正撥 59,也相當於倒撥 1 分鍾!
-------------------
計算機用二進制,就改稱為:補碼。
八位二進制:0000 0000~1111 1111(十進制255)。
255(=1111 1111),就是-1 的補碼。
254(=1111 1110),就是-2 的補碼。
。。。
負數的補碼 = 2^n + 該負數。(n 是二進制的位數。)
藉助於補碼,在計算機中,只需配置一個加法器,即可。
正數,沒有補碼,直接參加計算即可。
『肆』 C語言中如何將讀取的負數轉換為正數
可以加if判斷啊,若小於零取反
如果讀取的是字元串,可以使用atoi函數(把字元型轉化為整形)
另外二樓說的也可行,用abs(a)函數
『伍』 C語言如何把負數轉化為正數
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
『陸』 請教 c語言大神!!! 排序 一組隨便的數 讓正數都在前面 負數都在後面 怎麼編程 拜託了!!!
//快速排序演算法
intquick_sort(int*items,intleft,intright)
{
registerinti,j;
intx,y;
i=left;j=right;
x=items[(left+right)/2];//取得標兵,元素要麼在標兵左邊要麼在標兵右邊
do{
while((items[i]>x)&&(i<right))i++;//往右移動
while((x>items[j])&&(j>left))j--;//往左移動
if(i<=j){//如果左指針小於或等於右指針說明存在要交換的元素
y=items[i];
items[i]=items[j];
items[j]=y;
i++;
j--;
}
}while(i<=j);
if(left<j)
quick_sort(items,left,j);//左遞歸
if(i<right)
quick_sort(items,i,right);//右遞歸
return1;
}
voidmain()
{
intnumbers[5]={-1,-2,-3,4,5};
quick_sort(numbers,0,4);
}
『柒』 C語言中怎麼使正數顯示+
printf("%+d",x);這就能在正數x前顯示+。
『捌』 輸入一個整數 如果是正數就輸出 c語言怎麼編
示例代碼如下:
#include<stdio.h>
intmain()
{
intn;
scanf("%d",&n);
if(n>0)printf("%d ",n);
return0;
}
『玖』 a是一個帶小數的正數,怎麼用C語言描述
a>0&&(a-int(a)!=0)
b<0&&(b-int(b)!=0)
『拾』 c語言中 a為正數 如何表示
if ( a>=0 ) printf("a為正數。\n"); else printf("a為負數。\n");