日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言加强学习营(二):定义整型的最大值和最小值

發(fā)布時間:2023/12/2 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言加强学习营(二):定义整型的最大值和最小值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

示例

#include <stdio.h> #include <stdint.h>int main(int argc, char **argv) {uint8_t uint8_max = ~(uint8_t)0; /*!< 定義無符號字符型型的最大值 */int8_t int8_max = (int8_t)((uint8_t)(~1) >> 1); /*!< 定義有符號字符型的最大值 */uint32_t uint32_max = ~(uint32_t)0;int32_t int32_max = (int32_t)((uint32_t)(~1) >> 1);int8_t int8_min = ~int8_max;printf("Min of int8_t is 0x%X - %d\n", int8_min, int8_min);printf("Max of int8_t is 0x%X - %d\n",int8_max, int8_max);printf("Max of uint8_t is 0x%X - %u\n",uint8_max, uint8_max);printf("Max of int32_t is 0x%X - %d\n", int32_max, int32_max);printf("Max of uint32_t is 0x%X - %u\n", uint32_max, uint32_max); } root@seven:~/workspace/test/16.values# gcc value.c root@seven:~/workspace/test/16.values# ./a.out Min of int8_t is 0xFFFFFF80 - -128 Max of int8_t is 0x7F - 127 Max of uint8_t is 0xFF - 255 Max of int32_t is 0x7FFFFFFF - 2147483647 Max of uint32_t is 0xFFFFFFFF - 4294967295

解析

最大值

對于無符號整型數(shù)據(jù),最大值即為每位都是1,所有可以使用位操作運算符~(位非): <unsigned type> max = ~(<unsigned type>)0;
對于有符號整型數(shù)據(jù),最大值為符號位為0,其他位都為1: <signed type> max = (<signed type>)((<unsigned type)(~1) >> 1);,先取反,然后使用除2或者右移一位的方式時最高位(符號位)為0(正數(shù)),即得到有符號型數(shù)據(jù)最大值。

最小值

對于無符號整型數(shù)據(jù),最小值即為0;
對于有符號整型數(shù)據(jù),最小值為能表示的最小負(fù)數(shù),由于負(fù)數(shù)編碼為補(bǔ)碼表示,故最小值符號位為1(負(fù)號),其他位全為0: <signed type> min = ~(max);


——生活不會放棄你,但也不會放過你。

總結(jié)

以上是生活随笔為你收集整理的C语言加强学习营(二):定义整型的最大值和最小值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。