Fixing cpplint readability/casting issues

Change-Id: I6821da0e23737995a9b884a04e9b63fac640cd05
diff --git a/runtime/mem_map.cc b/runtime/mem_map.cc
index c75dffa..a0f389c 100644
--- a/runtime/mem_map.cc
+++ b/runtime/mem_map.cc
@@ -192,7 +192,8 @@
    * (The address must be page-aligned, the length doesn't need to be,
    * but we do need to ensure we cover the same range.)
    */
-  uint8_t* alignAddr = (uint8_t*) ((uintptr_t) addr & ~(kPageSize-1));
+  uint8_t* alignAddr = reinterpret_cast<uint8_t*>(RoundDown(reinterpret_cast<uintptr_t>(addr),
+                                                            kPageSize));
   size_t alignLength = length + (addr - alignAddr);
 
   if (mprotect(alignAddr, alignLength, prot) == 0) {