C++でキロバイトをバイトとビットに変換するプログラム
キロバイト(KB)を入力として受け取り、それをバイト数とビット数に変換するC++プログラムを紹介します。データサイズの単位変換は、プログラミングの基礎を学ぶうえで非常に重要なテーマです。
ビット(Bit)とは
コンピュータにおいて、ビットは情報の最小単位であり、0と1という2つの整数値で表されます。コンピュータ内のすべての情報は、この2つの数字の列として処理されます。
Nビットで表現できるパターン数は 2N 通りとなります(Nは1以上の任意の整数)。
バイト(Byte)とは
コンピュータにおいて、バイトは8ビットで構成される単位です。バイト1つで英数字1文字、または0から255までの範囲の数値を表現できます。
1バイト = 8ビット
これは 28 = 256 通りのパターンを意味します。
バイトの主な単位
- 1キロバイト(KB) = 1,024バイト
- 1メガバイト(MB) = 1,048,576バイト
- 1ギガバイト(GB) = 1,073,741,824バイト
実行例
入力1: kilobytes = 10 出力: 10 Kilobytes = 10240 Bytes and 81920 Bits 入力2: kilobytes = 1 出力: 1 Kilobytes = 1024 Bytes and 8192 Bits
変換のアプローチ
- キロバイト単位のデータを入力として受け取る
- キロバイトをバイトに変換する公式を適用する
バイト数 = キロバイト × 1024 - キロバイトをビットに変換する公式を適用する
ビット数 = キロバイト × 8192
アルゴリズム
開始
ステップ1: ビットに変換する関数を宣言
long Bits(int kilobytes)
long Bits = 0 を設定
Bits = kilobytes * 8192 を設定
Bits を返す
ステップ2: バイトに変換する関数を宣言
long Bytes(int kilobytes)
long Bytes = 0 を設定
Bytes = kilobytes * 1024 を設定
Bytes を返す
ステップ3: main() 内で
int kilobytes = 10 を宣言
Bits(kilobytes) を呼び出す
Bytes(kilobytes) を呼び出す
終了C++サンプルコード
#include <bits/stdc++.h>
using namespace std;
// ビットに変換する関数
long Bits(int kilobytes) {
long Bits = 0;
Bits = kilobytes * 8192;
return Bits;
}
// バイトに変換する関数
long Bytes(int kilobytes) {
long Bytes = 0;
Bytes = kilobytes * 1024;
return Bytes;
}
int main() {
int kilobytes = 10;
cout << kilobytes << " Kilobytes = " << Bytes(kilobytes) << " Bytes and " << Bits(kilobytes) << " Bits";
return 0;
}実行結果
上記のコードを実行すると、以下の出力が生成されます。
10 Kilobytes = 10240 Bytes and 81920 Bits
まとめ
キロバイトからバイトへの変換は「×1024」、ビットへの変換は「×8192」というシンプルな計算で実現できます。また、long型を使用することで、大きな値でもオーバーフローを気にせず扱える点もポイントです。単位変換の仕組みを理解すれば、メガバイトやギガバイトへの拡張も容易に行えます。
-
C++で対角行列・スカラー行列を判定するプログラムの書き方
行列 M[r][c] が与えられたとき、「r」は行数、「c」は列数を表し、r = c のとき正方行列となります。本記事では、与えられた正方行列が対角行列であるか、スカラー行列であるかを判定し、該当する場合には「yes」を出力する方法を解説します。 対角行列とは 正方行列 m[][] が対角行列であるのは、主対角線以外の要素がすべてゼロである場合、かつその場合に限ります。 下図のように、赤色で示された要素が主対角成分(非ゼロ)であり、それ以外の要素はすべてゼロになっているため、この行列は対角行列です。 入出力例 Input: m[3][3] = { {7, 0, 0}, {0, 8, 0}
-
摂氏を華氏に変換するC++プログラム
この記事では、C++を使って摂氏(℃)の温度を華氏(℉)に変換するプログラムを紹介します。摂氏から華氏への変換は、次のシンプルな数式で行えます。 F = (9 × C ÷ 5) + 32 ここで、Cは摂氏温度、Fは華氏温度を表します。例えば、摂氏37度は華氏98.6度に相当し、これは人間の平熱に近い値です。 アルゴリズム 処理の流れは以下の通りです。 開始 摂氏温度Cを入力する F = (9C/5) + 32 を計算する 結果Fを返す 終了 サンプルコード #include<iostream> using namespace std; int main() {