この記事の概要
いろんな言語で愛が生まれまくってるけど誰も説明記事書いてなかったので
説明してみる
生とは
| Unicode | Utf-8 | バイナリ |
|---|---|---|
| U+751F | \xe7\x94\x9f | 11100111 10010100 10011111 |
死とは
| Unicode | Utf-8 | バイナリ |
|---|---|---|
| U+6B7B | \xe6\xad\xbb | 11100110 10101101 10111011 |
愛とは
| Unicode | Utf-8 | バイナリ |
|---|---|---|
| u+611B | \xe6\x84\x9b | 11100110 10000100 10011011 |
結局みんな何してるの?
下記のようなコードを書くと愛になります。
Goの場合
package main
import "fmt"
func main() {
fmt.Println(string('生' & '死'))
}
一体何してるのかわからない人に説明すると
ビット積という計算をしています。
簡単にいえば、対象となる値が両方 1 の場合は 1 、そうじゃない場合は0となります。
生と死の値が同じ所だけ赤文字にしてみました。
| 文字 | バイナリ |
|---|---|
| 生 | 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 1 |
| 死 | 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 |
| 愛 | 1 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 |
わかってしまえば簡単なことですね