- 7-1 基本型と数
- えっと、さすがに基数は知っていたので、もう一節。
- えっと、さすがに基数は知っていたので、もう一節。
- 7-2 整数型と文字型
- 自分の環境のlimits.h該当部分。
#define SCHAR_MAX 127 /* min value for a signed char */
#define SCHAR_MIN (-128) /* max value for a signed char */
#define UCHAR_MAX 255 /* max value for an unsigned char */
#define CHAR_MAX 127 /* max value for a char */
#define CHAR_MIN (-128) /* min value for a char */
#define USHRT_MAX 65535 /* max value for an unsigned short */
#define SHRT_MAX 32767 /* max value for a short */
#define SHRT_MIN (-32768) /* min value for a short */
#define UINT_MAX 0xffffffff /* max value for an unsigned int */
#define INT_MAX 2147483647 /* max value for an int */
#define INT_MIN (-2147483647-1) /* min value for an int */
#ifdef __LP64__
#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */
#define LONG_MAX 0x7fffffffffffffffL /* max signed long */
#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */
#else /* !__LP64__ */
#define ULONG_MAX 0xffffffffUL /* max unsigned long */
#define LONG_MAX 2147483647L /* max signed long */
#define LONG_MIN (-2147483647L-1) /* min signed long */
#endif /* __LP64__ */
#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */
#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */
#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ - longはwordなのかな。
- 整数定数が型をもつ、ということは、Cでは識別子と値の双方が型情報を保持している、ということかな?
- 補数
- 厳しくいうと、例えば1を0001としたときに、000まで1の補数として反転するのは、補数の考え方から外れているような。
- 0001の1の補数は、数学的には0000じゃないか。そして、2の補数は0001。
- 計算機の内部で負数の表現に利用しているのは、補数の「計算手順」であって、0001の1の補数を1110と呼ぶのは奇妙。
- まあ、やりたいことはわかるんですが。
- 自分の環境のlimits.h該当部分。
演習に結構時間がかかった。ここまで。
0 件のコメント:
コメントを投稿