C言語[完全]入門 2022 メモ09

C言語[完全]入門

 C言語の勉強に良いかと思い「C言語[完全]入門・松浦健一郎 (著), 司 ゆき (著)」を購入しました。
 問題があった部分やつまずいた部分での解決方法を、覚書として残しておきたいと思います。

 私の行動としてはWindows11とmacOS13です。主にWindows11で操作をしていますが、macでの学習も必要だと感じる場合は、両方を覚書として残しておきたいと考えています。


 このメモは、「Chapter5 section02」の覚書になります。

ブログ内リンク

『C言語[完全]入門』関連リンク

整数型

  • short:16ビット以上、16ビット(2バイト)
  • int:16ビット以上、32ビット(4バイト)
  • long:32ビット以上、32/64ビット(4/8バイト)
  • long long:64ビット以上、64ビット(8バイト)
  • 注意:longに関しては、Windowsでは32ビット(4バイト)、macOS/Linuxでは64ビット(8バイト)です。
  • short int、long int、long long intのように書くこともできる。
  • 1バイトは8ビット。8bitなら「2の8乗」、16bitなら「2の16乗」、32bitなら「2の32乗」です。

sizeof

  • sizeof(演算子):型のサイズを知る事ができます。
  • izeof(型)

%lu

符号付き整数型と符号なし整数型

  • 符号付き:signed、signed shortは符号付きです。
  • 符号なし:unsigned、unsigned shortは符号なしです。
  • 8ビット、2の8乗(2*2*2*2*2*2*2*2):符号付き(-128〜127)、符号なし(0〜255)
  • %lld:llは、long longを表わす長さ修飾子です。(長さ修飾子)
  • 特に問題がなければintを使う。値の範囲が広ければlongやlong longを使う。メモリを節約したいときにshortを使う。
  • ビット数が決まった整数型:int8_t(1 バイトの符号付き整数 )〜int64_t(8 バイトの符号付き整数 )、uint8_t(1 バイトの符号なし整数 )〜uint64_t( 8 バイトの符号なし整数 )などがある。
  • 参考:データ型とサイズ

暗黙の変数

  • 変換順位:変換順位が低い型から高い型への変換を行います。
  • 整数拡張(整数昇格):int よりもランクの低い整数型に対して演算を行うときには、演算に先立って、int以上のランク(整数変換の順位 (integer conversion rank))の型に変換されるルールがあります。このルールを、整数拡張 (integer promotion) と呼びます。
  • 参考:型変換 | Programming Place Plus C言語編 第21章
  • 算術変換:オペランドが2つある演算子で、それぞれが異なる算術型 (arithmetic type) の場合には、両者の型を揃える型変換を行ってから、演算が行われます。算術型とは、整数型と浮動小数点型を合わせた呼び名です。
  • 参考:型変換 | Programming Place Plus C言語編 第21章
  • オペランドとは、コンピュータの演算における値や変数のことである。

整数型・浮動小数点型

  • 型ごとに割り当てられるサイズが異なり、サイズに応じて型に格納可能な値の範囲が設定されます。
  • 文字型:char(1バイト)
  • 整数型:short int(2バイト)、 int(4バイト)、 long int(4バイト)
  • 浮動小数点型:float(4バイト)、 double(8バイト)、 long double(8バイト)
  • 参考:C言語 | 変数の型

色々な浮動小数点型

  • float:32ビット・単精度(floating point number)
  • double:64ビット・倍精度
  • long double:64ビット以上・拡張倍精度

%.40f\n・1/3.0L

  • .40:小数点以下40桁
  • L:1/3.0はdouble型で計算され、1/3.0Lはlong double型で計算される。

FPU

  • x86/s64のCPUを採用している環境下では、x87というFPU(Floating Point Unit、浮動小数点(演算処理)装置)の使用に基づいて、浮動小数点を80ビットで計算する場合もあります。

float・double

  • 特に問題が無ければ精度の高いdoubleを使う。
  • 速度やメモリの節約を重視する場合にはfloatを使う。

接尾辞(せつびじ)・suffix

  • なし:int
  • lまたはL:longまたはlong long
  • llまたはLL:long long
  • なし:signed
  • uまたはU:unsigned
  • fまたはF:float
  • なし:double
  • lまたはL:long double
次の投稿 前の投稿
コメントなし
コメントする
comment url