コンピュータの中で「負数」をメモリ上に記憶するには、いくつかの方法がある。基本的には、CPUの機械語命令で負数を扱う方法がある。
最も簡単なのは、最上位ビットを使って正負を表す方法である。このとき、正の整数と一致させるために、最上位ビットが0(ゼロ)のときに正数、1のときに負数とすることが多い。整数の絶対値に対して最上位ビットを1にしたものを、その数の負数と定義する。この方法では、たとえば4ビットの整数値では、7~0~-7を表現できる。このやりかたを便宜上、この記事では「符号ビット」方式と呼ぶことにする。
ただし、符号ビット方式にはちょっとしたムダがある。4ビットで表現できる数は、全部で16個であるのに、「7~0~-7」では、15個の数しか表現できていない。これは、2進数で「1000」というパターンが定義上ゼロになってしまうから。この方法ではゼロを表すパターンが「0000」と「1000」の2つできてしまう。
負の整数を表す方法としては、符号ビット方式のほかに「補数」を使う方法がある。広く使われているのは「2の補数」を使って負数を表現する方法(表01)。2の補数を使うと「-1」を全てのビットが1になったパターンで表現する。また、ゼロは全てのビットが0で表現する。
2の補数を生成するには、全ビットを反転させて1を足す。「0b」で始まる数値が2進数パターンを表すとする。4ビットの整数で-1を作るには、「1=0b0001」から全ビットを反転させて「0b1110」を作り、「0b0001=1」を加算して「0b1111」とする。こうして作られた「-1」は、「1」と加算すると結果が「0=0b0000」となる。
なお、歴史上、1の補数を使ったコンピュータも存在していたらしい。1の補数は、負数をすべてのビットを反転させて作る。
補数を使うことで、減算専用の回路を作る必要がなくなり、符号の反転回路と通常の加算回路を使うだけよいため、ハードウェアを簡略化できる。
今回のタイトルネタは、「ソラリス」(2015年、ハヤカワ文庫SF)である。1961年のスタニスワフ・レムの作品で原題はSolaris。同作品は、1965年に邦訳が早川書房から「ソラリスの陽のもとに」というタイトルで出版されたが、改編され、検閲で一部が削除されたロシア語版からの翻訳だった。1978年にソ連(当時)でアンドレイ・タルコフスキーの映画「惑星ソラリス」が国内公開された。このとき、映画宣伝で文庫本の表紙に映画の1シーンが入った。筆者が邦訳を読んで、映画を見に行ったのが1979年頃。映画は原作の枠組みのみを使い、1970年の万博会場で地球の未来都市を撮影するつもりが、撮影隊が大阪に来たときには、万博は終了し、大半の建物は壊されていた。このため、首都高の信濃町あたりを撮影して未来都市の映像とした。映画は、2002年にリメイクされたが、原作者は不満だった。
当時、筆者達はソ連という同じ人間であっても、永遠にわかり合えない「冷戦」の向こう側から来た小説「ソラリスの陽のもとに」を読むことしかできなかった。結局、本当の「ソラリス」に触れられたのは、2004年に国書刊行会から完全版が出てからだった。タイトルには含まれていないが「完全版=Complete (Version)」と「補数=complement」をかけた。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)