JavaとC/C++のデータ型の長さの比較
1. C 言語の整数型には、char、short、int、long などがあります。C 言語の各データ型の長さの規則は次のとおりです。
(a) short 型とlong 型の長さは異なります。
(b). int 型は通常、特定のマシンの物理ワード長と同じです
(c) は、通常、16 ビット、int は、異なるハードウェアに応じて自由に決定できます。ただし、short および int は少なくとも 16 ビットである必要があり、long 型は少なくとも 32 ビットである必要があり、short は int および long 型よりも短い必要があります。
2. sizeof() 演算子は、データ型に含まれるバイト数を返します。AnsiC では、sizeof(char) が 1 を返す必要があると規定しています。sizeof が配列に適用されると、配列内のすべてのバイト数が返されます。メンバーによって占有されているバイト数 (配列内のメンバーの数ではないことに注意してください) sizeof() が構造体とパブリックボディに適用されると、データメンバーの合計バイト数だけでなく、コンパイラーのバイト数も返されます。目的 実装バイトが埋め込まれるバイト。
私はプログラムを書くときにこれらの規則を漠然と理解していましたが、char 型は 8 ビットでなければならないと常々思っていましたが、最近組み込み DSP プロジェクトに携わったところ、コンパイラのマニュアルには char 型が 16 ビットであることが明確に記載されていました。仕方なく「The C Programming Language」を調べたところ、ANSI C には char 型の長さに関する厳密な要件がないことがわかりました。以前は、プログラムを作成するときにデータ型の移植性についてあまり注意を払っていませんでしたが、このプロジェクトで使用されていたすべてのコードは、データ型の長さの問題について再検査する必要がありました。
C++ データ型の長さの問題:
1. バイトとワード長
バイト、8 ビットは 1 バイトであり、これは固定概念です。ワード長とは、コンピュータが一度に処理できるバイナリ データの長さを指します。これは固定された概念ではありません。たとえば、8 ビット コンピュータのワード長は 8 (1 バイト)、32 ビット コンピュータのワード長は 32、つまり 4 バイトです。同様に、64 ビット コンピュータのワード長は 64 です。 、または 8 バイト。
2. C++ のデータ型
1. 文字データ char、この型の長さは常に 1 バイト、つまり 8 ビットです。
2. 整数、短いものと長いもの。通常、int は 1 ワード長、short は半ワード長、long は 1 または 2 ワード長です (32 ビット マシンでは 1 ワード長)。
3. Float、double、long double は、それぞれ単精度浮動小数点数、倍精度浮動小数点数、拡張精度浮動小数点数を表します。通常、float は 1 ワード、double は 2 ワード、long double は 3 または 4 ワードです。
Java の各データ型の長さ:
boolean はトライアルコンパイル環境によって異なります
byte 1 バイト
short 2 バイト
char 2 バイト
int 4 バイト
long 8 バイト
float 4 バイト
double 8 バイト
Java と C/C++ のデータ型の長さの比較に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、Lambda式、Streams API、メソッド参照、およびオプションを使用して、機能プログラミングをJavaに統合することを調べます。 それは、簡潔さと不変性を通じてコードの読みやすさと保守性の改善などの利点を強調しています

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、単一のスレッドで複数の接続を効率的に処理するためにセレクターとチャネルを使用して、非ブロッキングI/O用のJavaのNIO APIについて説明します。 プロセス、利点(スケーラビリティ、パフォーマンス)、および潜在的な落とし穴(複雑さ、

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、ネットワーク通信のためのJavaのソケットAPI、クライアントサーバーのセットアップ、データ処理、リソース管理、エラー処理、セキュリティなどの重要な考慮事項をカバーしています。 また、パフォーマンスの最適化手法も調査します
