C/C++言語 char型を用いて演算
C/C++言語でchar型を用いた演算 チップ抵抗を求める際に使える. 例えば E-96系列で66Aは475Ωで, 51Bは3.32kΩ, 45Cは28.7kΩとなる. これを求めるプログラムにおいて, char型による四則演算を利用すれば処理も楽になる. サンプルプログラム1 #include <iostream> //標準入出力関数を使うときに必要なヘッダー #include <cmath> //数学関数を使うときに必要なヘッダー using namespace std; double round(double x, double n); int main(void){ int num; double ans; char cNum[3]; cout > cNum; //例 66A num = ((int)(cNum[0] - '0') * 10 + (int)(cNum[1] - '0')); //数値に変換 cout = 5){ //1の位の余りが5以上の場合 temp = temp + (10 - temp%10); //10から1の位の余りを引いて、値に足す return (double)temp * pow(10.0, -n); //計算結果を返す }else{ //1の位の余りが5未満の場合 temp = temp - temp%10; //1の位の余りを引く return (double)temp * pow(10.0, -n); //計算結果を返す } } char型は1文字分のデータを格納できる. 例えばAは10進数アスキーコードで65. つまり, 変数cNum[2]にAを代入して, 数値として'A'を引く計算を行うと0となる. また, cNum[2]='D'とした場合, cNum[2] - 'A' = 3 となる. 参考 なし ※間違ってたらすみません。 わかった時点で修正します。