タグ

QiitaとCに関するdankogaiのブックマーク (2)

  • "%.17g" = doubleの出力をポータブルにする魔法の呪文? - Qiita

    遅まきながら、明けましておめでとうございます。 諸般の事情で浮動小数点と取っ組み合っています。 懸命な読者であれば、浮動小数点表記は"eyes only"なものであり、データの交換に用いるのは慎むべきであることはご存知かと思われますが、実はそうも言ってられなくなっていることに気づいた人はどれくらいいらっしゃるのでしょうか… そう。JSONです。そのままJavaScriptでevalできちゃう、RFC7159で規定された、今や世界で最も利用されているであろうデータ交換フォーマット。 JavaScriptでevalできちゃうだけあって、数値はJavaScriptの数値リテラルそのものです。 Hexadecimal Floating Pointなんてお洒落なものは使えません(Hex Floatについては記事を改めて)。 つまり、Cにおけるdouble、JavaScriptにおけるNumberを、

    "%.17g" = doubleの出力をポータブルにする魔法の呪文? - Qiita
  • Swift - UnsafePointerと上手に付き合う - Qiita

    ああなんてもったいない誤解。 ということでUnsafePointer.alloc()でアンセーフなメモリを確保して、その中に返してもらって、利用後に速やかに破棄するという感じにしかならないようです。 - SwiftからMachのhost_info()を呼び出す(UnsafePointerのキャスト) Cの構造体はそのままSwiftの構造体として使える Cの構造体も、Swiftの構造体と同じ流儀で扱えます UnsafePointer<cstruct>を要求する関数には、&cstructを渡すだけでおk 実際にご覧いただきましょう。 import Darwin // もちろんFoundationでもおk func lastModified(path:String)->String? { var st = stat() // *1 let err = path.withCString { //

    Swift - UnsafePointerと上手に付き合う - Qiita
  • 1