目次
質問内容
解決策
ホームページ バックエンド開発 Golang ビットシフト演算結​​果の違い

ビットシフト演算結​​果の違い

Feb 08, 2024 pm 09:11 PM
暗黙的な変換

ビットシフト演算結​​果の違い

phpエディタZimoが「ビット単位のシフト計算結果の違い」についての記事をお届けします。コンピューター プログラミングでは、ビット シフト演算は一般的な演算であり、2 進数に対して左または右のシフト演算を実行できます。ただし、プログラミング言語が異なると、ディスプレイスメント操作の結果の処理に違いがある可能性があるため、開発者は注意が必要です。この記事では、さまざまなプログラミング言語でのディスプレイスメント操作の結果の違いを詳細に紹介し、読者がディスプレイスメント操作をより深く理解し、適用できるようにいくつかの例を示します。初心者であっても、プログラミングの基礎を持った開発者であっても、この記事から役立つ知識とスキルを得ることができます。

質問内容

私の go プログラムの出力、特に変数 x1 と x2 に違いがあります。関連するコード スニペットは次のとおりです:

リーリー

期待される出力: 10 10

実際の出力: 0 10

違いの背後にある理由に興味を持ち、説明を求めてください。

解決策

定数式は、指定されていない精度で評価されます。 x2 に割り当てられるものはすべて定数であるため、210 / 100 = 1024 / 100 = 10 が正しく計算されます。一方、最初の式では、1 は byte として扱われます。これは、すぐにシフトアウトされることを意味します。 1 は、仕様: byte

として扱う必要があります。

非 const シフト式の左オペランドが型なし定数の場合、シフト式がその左オペランドのみで置き換えられたときに想定される型にまず暗黙的に変換されます。

1 は左側の型なし定数で、nvar で式を非定数にするため、1 には代入先の x1 型が必要です。 ###バイト###。

以上がビットシフト演算結​​果の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Javaでshortを使用する方法 Javaでshortを使用する方法 May 07, 2024 am 03:33 AM

short は、-32,768 ~ 32,767 の範囲の 16 ビット符号付き整数を表す Java のプリミティブ データ型です。これは、カウンタや ID などの小さな整数を表すためによく使用され、基本的な算術演算と型変換をサポートします。ただし、short は符号付き型であるため、除算を使用する場合はオーバーフローやアンダーフローを避けるために注意する必要があります。

SQLでのifnullの使用法 SQLでのifnullの使用法 Apr 28, 2024 am 09:57 AM

IFNULL 関数は、式が NULL かどうかをチェックし、NULL である場合は指定されたデフォルト値を返し、そうでない場合は式の値を返します。これにより、Null 値によるエラーの発生が防止され、Null 値の操作が可能になり、クエリの可読性が向上します。使用法には、NULL 値をデフォルト値に置き換える、計算から NULL 値を除外する、および複数の NULL 値の状況を処理するためのネストされた使用法が含まれます。

Javaのcharとはどういう意味ですか? Javaのcharとはどういう意味ですか? May 01, 2024 pm 06:15 PM

Java の char 型は、U+0000 から U+FFFF までの 2 バイトを占める単一の Unicode 文字を格納するために使用されます。これは、一重引用符または Unicode エスケープ シーケンスを通じて初期化できます。比較、等価、不等式、結合演算に参加でき、暗黙的に int 型に変換することも、明示的に Character オブジェクトに変換することもできます。

C言語で割り算を計算する方法 C言語で割り算を計算する方法 Apr 13, 2024 pm 09:12 PM

C 言語では、除算演算子 / の動作はオペランドのデータ型によって異なります。 整数除算: オペランドが整数の場合、整数除算が実行され、結果は切り捨てられます。浮動小数点除算: オペランドが浮動小数点数の場合、浮動小数点除算が実行され、結果は浮動小数点数になります。型変換: 一方のオペランドが整数で、もう一方のオペランドが整数でない場合、整数は暗黙的に浮動小数点数に変換され、浮動小数点除算が実行されます。 0 による除数: 除数が 0 の場合、数学的エラーが発生します。モジュロ演算: モジュロ演算には、モジュロ除算ではなく % 演算子を使用します。

C++ 関数のオーバーロードの一致ルールは何ですか? C++ 関数のオーバーロードの一致ルールは何ですか? Apr 27, 2024 am 08:27 AM

C++ 関数のオーバーロードの一致ルールは次のとおりです。呼び出し内のパラメータの数と型を一致させます。パラメータの順序は一貫している必要があります。 constness 修飾子と参照修飾子は一致する必要があります。デフォルトのパラメータを使用できます。

mysql で * は何を意味しますか mysql で * は何を意味しますか Apr 26, 2024 am 07:21 AM

MySQL のアスタリスク (*) は「すべて」を意味し、さまざまな用途があります。 すべての列を選択 すべての行を選択 テーブルの JOIN ワイルドカード LIKE 句 REGEXP 句の量子子の暗黙的な型変換

オラクルでの (+ の使用法) オラクルでの (+ の使用法) May 08, 2024 pm 08:12 PM

Oracle のプラス (+) 演算子は、文字列、数値、日付、および時間間隔を接続する、NULL 値を処理する、および NULL を非 NULL 値に変換する、データ型を文字列型に変換するために使用できます。

PHP関数のパラメータの型とは何ですか? PHP関数のパラメータの型とは何ですか? Apr 10, 2024 pm 04:21 PM

PHP 関数のパラメーターの型には、スカラー型 (整数、浮動小数点数、文字列、ブール値、null 値)、複合型 (配列、オブジェクト)、特殊型 (コールバック関数、変数パラメーター) が含まれます。関数は、さまざまな型のパラメーターを自動的に変換できますが、偶発的な変換を防ぎ、パラメーターの正確性を確保するために、型宣言を通じて特定の型を強制することもできます。

See all articles