ForHosting KIT · 開発者向けツール

符号なし→符号付き整数計算機

8ビットの255はすべて1なので、符号付きで読むと−1になります。符号なしの値と2から53までのビット幅を入れると、2の補数での値、ビット列、最上位ビットが立っているかが分かります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
値
255
ビット数
8
結果
符号付き
-1
符号なし
255
2進数
11111111
Min
-128

同じビット幅で符号なし整数を符号付き型へキャストするとき、現代の言語はビット列を変えず、2の補数として再解釈します。8ビットに格納された255はすべて1であり、uint8では255ですが、int8では最上位ビットが立つため同じパターンは−1になります。学生、組み込み開発者、面接受験者は、2ビットから53ビットまでの任意の幅について、余りを手計算せずにその対応を素早く決定的に確認する手段を必要とします。この符号なしから符号付き整数計算機は、非負の値とビット幅を受け取り、その幅の符号なし範囲に収まるかを検証し、2の補数としての符号付き読み取りと正確なビット列、最上位ビットのフラグを返します。0から2の幅乗−1の外へのオーバーフローは、黙ってラップせず拒否します。

符号なしから符号付きへの2の補数再解釈の仕組み

ビット幅wを2以上に固定します。長さwのビットパターンは二通りに読めます。符号なし整数としては、0から2のw乗−1までの整数uです。

符号付き2の補数整数としては、最上位ビットが0なら同じパターンはu、最上位ビットが1ならuから2のw乗を引いた値です。この一つの規則により、8ビットの255は−1になり、128は−128(8ビットで最も小さい負数)になり、127は正の127のままです。アルゴリズムはビットを手で反転しません。

uを2の(w−1)乗(半範囲のしきい値)と比較し、uをそのまま返すか、法2のw乗を引きます。0は常に0のまま、すべて1のパターンはどの幅でも常に−1になります。結果を数値として直列化するとき各桁が正確であるよう、値はJavaScriptの安全整数範囲内に収める必要があります。

選んだ幅の符号なし範囲に収まらない要求(例:8ビットで256)は、許容最大値を明示したメッセージで拒否し、0へラップしてキャストの誤りを隠すことはありません。学生やファームウェア注記が誤って信頼する事態を防ぎます。

符号なしから符号付き計算機が役立つ場面

計算機科学とディジタル設計の授業では、学生が符号付きレジスタに初めて触れ、大きな符号なしバイトが符号付きキャストで小さな負数になる驚きを学ぶときに2の補数を導入します。符号付き値・ビット列・最上位ビットフラグを返す信頼できるオラクルは、壊れやすい表計算式なしに解答キーと実験デモを速めます。

組み込みファームウェアとプロトコルの文書は、ログ上の符号なしダンプとして保存されたセンサ欄を、8または16ビットの符号付きオフセットや温度差分として読み直す必要があり、レビュー担当は符号ビットを一目で確認できます。

コンパイラとランタイムの注記は、C、Java、Rustがuint8やuint16をビット再解釈で対応する符号付き型へキャストする仕組みを説明します。チューターはゼロ、中点、符号なし最大、すべて1について、学生のキャスト補助と既知の正しい符号付き結果を比較します。

コーディング面接のウォームアップやオンラインジャッジは、符号なしから符号付きの変換実装や、最上位ビットが符号を反転する検知を求め、共有フィクスチャが採点の一貫性を保ちます。

宿題と計算機組織の実験

8/16/32ビット幅での符号付きキャストで、任意の符号なしバイトや語がどうなるかを、最上位ビットの中点とすべて1の場合も含め、共有の単一オラクルに照らして確認します。

ファームウェアログとプロトコルダンプ

16進または10進のログを確認するとき、固定幅で符号なしレジスタダンプを符号付きセンサ差分やオフセットとして再解釈します。

キャスト補助のテストフィクスチャ

2の補数の余りを手計算せずに、言語のキャスト補助の単体テスト用に基準となる符号付き値とビット列を生成します。

2の補数で符号なしから符号付きとは何ですか?

固定幅wでは、同じビット列は[0, 2^w−1]の符号なし値uとして読むか、最上位ビットが0なら符号付きu、最上位ビットが1ならu − 2^wとして読みます。ビットは変わらず、解釈だけが変わります。

8ビットで255が−1になるのはなぜですか?

255はすべて1のパターンです。最上位ビットが立つと、2の補数は符号付き読みを255 − 256 = −1と定義します。同じすべて1のパターンはどの幅でも−1です。

valueはどの範囲に収める必要がありますか?

符号付き結果は[−2^(bits−1), 2^(bits−1)−1]に入ります。

対応するビット幅はどれですか?

2から53まで(両端含む)です。授業でよく使う幅は8、16、32です。

8ビットで128はいくつになりますか?

−128になります。最上位ビットが立っているため、数から256を引くからで、これは8ビットで最も小さい値です。127は最上位ビットが立っていないので127のままです。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/dev/unsigned-to-signed

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/dev/unsigned-to-signed \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":255,"bits":8}'
{
  "value": 255,
  "bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.unsigned_to_signed",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

成功したAPI呼び出しは公開の基本料金$0.002を1件あたりに適用します。

符号なしから符号付きへの2の補数再解釈の仕組み

実装は浮動小数の丸め、乱数シード、壁時計、ネットワーク呼び出しのない厳密な整数演算のみを用いるため、同一入力は常に同一のJSONを生成します。

入力契約・応答形状・エラー時の振る舞い

符号付き整数をビット列へ符号化したり既にあるビット列を復号したりする場合は、符号なしから符号付きの再解釈契約を無理に広げず、専用の2の補数コンバータのページを使ってください。必須フィールドが2つのJSON本体をPOSTします。valueは再解釈する非負整数、bitsは2から53までのワード幅です。valueはJSON数値、または先頭に任意のプラスを付けた数字列でよく、別名u、unsigned、n、numberを受け付けます。bitsは数値または数字列でよく、別名width、bit_width、nbits、wを受け付けます。欠落フィールド、空文字列、NaN、Infinity、小数、負数、2から53の外の幅、2のbits乗−1を超える値はinvalid_inputで失敗し、課金されません。成功時はvalueとbitsをエコーし、signed(2の補数の読み取り)、unsigned(同じ非負の剰余)、binary(ちょうどbits文字の0と1、最上位ビットが左)、high_bit_setとis_negativeの真偽値、その幅の合法な符号付きminとmax、unsigned_max、methodとしてtwos_complement_reinterpretを返します。典型例:valueが255でbitsが8ならsignedは−1でbinaryはすべて1、valueが128でbitsが8ならsignedは−128、valueが42でbitsが16なら正の42で先頭ゼロ付きです。成功したAPI呼び出しの料金は公開の基本料金$0.002を1件あたりとし、検証失敗は前払い残高を消費しません。

符号なしから符号付き計算機が役立つ場面

本機能は純粋なparseエンジンのため、API料金は成功1件あたり公開の基本料金$0.002であり、検証失敗は残高を消費しません。符号付き整数とバイナリの双方向変換、16進ダンプのみ、IEEE浮動小数点のビットパターン、異なる幅での符号拡張は、別の検索意図として専用ページに分け、この符号なしから符号付き計算機の正当な範囲を超えて押し広げないでください。

符号なしから符号付き整数計算機の料金は?

ブラウザツールは無料でローカル実行です。API要求は成功1件あたり$0.002の前払いKIT残高を使い、無効入力は課金されません。

KITの完全なドキュメントを見る →