99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

char是有符號(hào)類(lèi)型還是無(wú)符號(hào)類(lèi)型?

學(xué)益得智能硬件 ? 來(lái)源:學(xué)益得智能硬件 ? 2024-03-17 10:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

看一個(gè)C語(yǔ)言的筆試題,題目很簡(jiǎn)單,問(wèn)char是有符號(hào)類(lèi)型還是無(wú)符號(hào)類(lèi)型?

看到這個(gè)題目的時(shí)候,我毫不猶豫的選擇了一個(gè)錯(cuò)誤答案。

在大部分人的認(rèn)知中,C語(yǔ)言數(shù)據(jù)類(lèi)型前面的signed是可以省略的,比如:

int a;
其實(shí)等價(jià)于:
signed int a;
也就是 a 表示有符號(hào)整型。 如果想要定義無(wú)符號(hào)整型,可以寫(xiě)成:
unsigned int a;
前面的 unsigned 不能省略。

但是 char 類(lèi)型卻除外。

寫(xiě)個(gè)代碼測(cè)試一下,有符號(hào) char 表示范圍 -128 - 127,無(wú)符號(hào) char 表示范圍 0 - 255。

我們只要定義一個(gè) char 類(lèi)型等于 127,讓他加一后,看結(jié)果大于 0 還是小于 0 就行。

先用 Ubuntu 里面的 gcc 來(lái)編譯,結(jié)果是有符號(hào)數(shù)。

換成 arm-linux-gcc,在ARM架構(gòu)的開(kāi)發(fā)板上運(yùn)行,結(jié)果是無(wú)符號(hào)數(shù)。

最后再來(lái)看下C標(biāo)準(zhǔn),他把這種行為稱為:
implementation defined
就是讓編譯器自己去決定,所以不同的環(huán)境下面,char表示的確實(shí)不一樣。

如果考慮到移植,一定要謹(jǐn)慎使用。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7631

    瀏覽量

    141050
  • ARM架構(gòu)
    +關(guān)注

    關(guān)注

    15

    文章

    182

    瀏覽量

    37114
  • char
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    3812
  • gcc編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    3701

原文標(biāo)題:char屬于有符號(hào)還是無(wú)符號(hào)

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    關(guān)于verilog中的無(wú)符號(hào)數(shù)和符號(hào)數(shù)

    在數(shù)字電路中,出于應(yīng)用的需要,我們可以使用無(wú)符號(hào)數(shù),即包括0及整數(shù)的集合;也可以使用符號(hào)數(shù),即包括0和正負(fù)數(shù)的集合。在更加復(fù)雜的系統(tǒng)中,也許這兩種
    的頭像 發(fā)表于 11-18 17:46 ?1.8w次閱讀

    跟著狄泰唐老師學(xué)C語(yǔ)言進(jìn)階教程的筆記之有符號(hào)無(wú)符號(hào)

    ——> MIN_VALUEB. MIN_VALUE-1 ——> MAX_VALUE4. signed和unsignedl C語(yǔ)言中變量默認(rèn)為符號(hào)類(lèi)型l unsigned 關(guān)鍵字聲明為無(wú)
    發(fā)表于 05-16 21:43

    無(wú)符號(hào)類(lèi)型與整數(shù)文字不匹配

    什么嗎? case和if / elsif之間區(qū)別嗎?signal rx_count:unsigned(15 downto 0);case rx_count是當(dāng)15 =>- 這就產(chǎn)生了“無(wú)符號(hào)
    發(fā)表于 03-05 12:53

    雙狀態(tài)無(wú)符號(hào)/符號(hào)數(shù)據(jù)類(lèi)型

    雙狀態(tài)無(wú)符號(hào)數(shù)據(jù)類(lèi)型雙狀態(tài)符號(hào)數(shù)據(jù)類(lèi)型四狀態(tài)數(shù)據(jù)類(lèi)型
    發(fā)表于 01-18 06:03

    C語(yǔ)言單片機(jī)編程為什么總是用無(wú)符號(hào)的數(shù)據(jù)類(lèi)型來(lái)定義

    注意:答案和題目均轉(zhuǎn)自百度知道char型可以表示數(shù)的范圍是-128到127,所占位數(shù)是8位int型可以表示數(shù)的范圍是-32768到32767,所占位數(shù)是16位假如用符號(hào)的數(shù)據(jù)類(lèi)型表示
    發(fā)表于 07-01 08:07

    stm32無(wú)符號(hào)8位轉(zhuǎn)換為int類(lèi)型的方法是什么

    stm32無(wú)符號(hào)8位轉(zhuǎn)換為int類(lèi)型的方法是什么
    發(fā)表于 12-20 07:14

    SpinalHDL的UInt與SInt數(shù)據(jù)類(lèi)型能夠進(jìn)行符號(hào)/無(wú)符號(hào)數(shù)操作

    在Bits的基礎(chǔ)上,SpinalHDL提供了UInt、SInt數(shù)據(jù)類(lèi)型,從而能夠進(jìn)行符號(hào)/無(wú)符號(hào)數(shù)操作。變量定義/初始化UInt/SInt
    發(fā)表于 07-14 14:45

    高效的C編程之變量類(lèi)型

    14.2 C編譯器數(shù)據(jù)類(lèi)型映射 C數(shù)據(jù)類(lèi)型表示的意義 char無(wú)符號(hào)8位字節(jié)數(shù)據(jù) short
    發(fā)表于 10-17 16:50 ?3次下載
    高效的C編程之變量<b class='flag-5'>類(lèi)型</b>

    fpga 符號(hào)數(shù)、無(wú)符號(hào)數(shù)

    ?在設(shè)計(jì)中,所有的算數(shù)運(yùn)算符都是按照無(wú)符號(hào)數(shù)進(jìn)行的。如果要完成符號(hào)數(shù)計(jì)算,對(duì)于加、減操作通過(guò)補(bǔ)碼處理即可用無(wú)
    的頭像 發(fā)表于 10-09 15:22 ?6339次閱讀
    fpga <b class='flag-5'>有</b><b class='flag-5'>符號(hào)</b>數(shù)、<b class='flag-5'>無(wú)</b><b class='flag-5'>符號(hào)</b>數(shù)

    plc位、字節(jié)、字、雙字、符號(hào)無(wú)符號(hào)數(shù)據(jù)類(lèi)型的關(guān)系

    plc位、字節(jié)、字、雙字、符號(hào)、無(wú)符號(hào)的關(guān)系以下內(nèi)容由深圳市綜科智控科技開(kāi)發(fā)有限公司編輯整理 2021/08/18前言:很多同學(xué)在PLC開(kāi)發(fā)過(guò)程中,因?yàn)閿?shù)據(jù)
    發(fā)表于 12-29 18:52 ?2次下載
    plc位、字節(jié)、字、雙字、<b class='flag-5'>有</b><b class='flag-5'>符號(hào)</b>、<b class='flag-5'>無(wú)</b><b class='flag-5'>符號(hào)數(shù)據(jù)類(lèi)型</b>的關(guān)系

    關(guān)于符號(hào)數(shù)據(jù)類(lèi)型的示例

    我們學(xué)習(xí)一下Systemverilog中的符號(hào)數(shù)據(jù)類(lèi)型的賦值。
    的頭像 發(fā)表于 10-17 14:40 ?1302次閱讀

    匯編基礎(chǔ)知識(shí)教程之?dāng)?shù)據(jù)類(lèi)型與寄存器

    數(shù)據(jù)類(lèi)型 這是 ARM 匯編基礎(chǔ)知識(shí)系列教程的第二部分,涉及數(shù)據(jù)類(lèi)型和寄存器。 與高級(jí)語(yǔ)言類(lèi)似,ARM支持對(duì)不同數(shù)據(jù)類(lèi)型的操作。我們可以加載(或存儲(chǔ))的數(shù)據(jù)類(lèi)型可以是
    的頭像 發(fā)表于 01-30 15:06 ?1330次閱讀
    匯編基礎(chǔ)知識(shí)教程之?dāng)?shù)據(jù)<b class='flag-5'>類(lèi)型</b>與寄存器

    PLC數(shù)據(jù)類(lèi)型匯總表

    數(shù)據(jù)類(lèi)型前面的U為無(wú)符號(hào),例如UINT為無(wú)符號(hào)16位整數(shù)。INT位
    的頭像 發(fā)表于 09-19 12:51 ?4083次閱讀

    verilog中數(shù)據(jù)的符號(hào)屬性(符號(hào)數(shù)和無(wú)符號(hào)數(shù))探究根源

    為了省流,還是先甩結(jié)論。符號(hào)數(shù)和無(wú)符號(hào)數(shù)的最本質(zhì)區(qū)別就是:符號(hào)位的識(shí)別和高位拓展。除此之外,另
    的頭像 發(fā)表于 12-10 10:50 ?2417次閱讀
    verilog中數(shù)據(jù)的<b class='flag-5'>符號(hào)</b>屬性(<b class='flag-5'>有</b><b class='flag-5'>符號(hào)</b>數(shù)和<b class='flag-5'>無(wú)</b><b class='flag-5'>符號(hào)</b>數(shù))探究根源

    原理圖符號(hào)引腳的電氣類(lèi)型

    “ ?引腳是原理圖符號(hào)中最重要的對(duì)象,在繪制引腳時(shí),可以選擇引腳的電氣類(lèi)型,比如輸入、輸出、高阻等。本文將介紹引腳電氣類(lèi)型的含義及其應(yīng)用。 ? ” 引腳的電氣類(lèi)型
    的頭像 發(fā)表于 11-12 12:20 ?2000次閱讀
    原理圖<b class='flag-5'>符號(hào)</b>引腳的電氣<b class='flag-5'>類(lèi)型</b>