from.. 2008-09-16 18:05 采纳率: 100%
浏览 538
已采纳

什么是无符号字符?

In C/C++, what an unsigned char is used for? How is it different from a regular char?

转载于:https://stackoverflow.com/questions/75191/what-is-an-unsigned-char

  • 写回答

16条回答 默认 最新

  • 关注

    In C++, there are three distinct character types:

    • char
    • signed char
    • unsigned char

    If you are using character types for text, use the unqualified char:

    • it is the type of character literals like 'a' or '0'.
    • it is the type that makes up C strings like "abcde"

    It also works out as a number value, but it is unspecified whether that value is treated as signed or unsigned. Beware character comparisons through inequalities - although if you limit yourself to ASCII (0-127) you're just about safe.

    If you are using character types as numbers, use:

    • signed char, which gives you at least the -127 to 127 range. (-128 to 127 is common)
    • unsigned char, which gives you at least the 0 to 255 range.

    "At least", because the C++ standard only gives the minimum range of values that each numeric type is required to cover. sizeof (char) is required to be 1 (i.e. one byte), but a byte could in theory be for example 32 bits. sizeof would still be report its size as 1 - meaning that you could have sizeof (char) == sizeof (long) == 1.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(15条)

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误